package main

import "fmt"

type rect struct {
	width  int
	height int
}

//这里的area方法有一个接收器(receiver)类型_`rect`
func (r *rect) area() int {
	return r.width * r.height
}

//值类型的接收器
func (r rect) perim() int {
	return 2*r.width + 2*r.height
}

func main() {
	r := rect{10, 5}
	//调用结构体定义的2个方法
	fmt.Println("area: ", r.area())
	fmt.Println("area: ", r.perim())

	rp := &r
	fmt.Println("area: ", rp.area())
	fmt.Println("area: ", rp.perim())
}
